function setCookie(key, name, expires) {
    if (!key || !name) {
        throw new Error("这个函数前两个参数是必填");
    }
    if (expires) {
        let d = new Date();
        let t = d.getTime() - 8 * 60 * 60 * 1000 + expires * 60 * 1000;
        d.setTime(t);
        // path=/ 表示正cookie设置在 这个域名下的根目录下面
        // 只要是这个域下面所有文件都可以去访问cookie
        // 如果不设置 path  默认cookie 会设置到 文件所在的文件夹中
        // 文件夹外面的文件就不能访问这个cookie了
        document.cookie = `${key}=${name};expires=${d};path=/`;
        return;
    }
    document.cookie = `${key}=${name};;path=/`;
}

/* 
    封装一个获取cookie 函数  getCookie()
        参数：
            key 表示获取到这个key对应的值，如果没有的时候把所有的cookie都获取出来
        返回值：
            如果有参数 就直接返回这个key对应的值 10 return obj[key]
            如果没有参数的时候 应该以对象的形式把所有的cookie都返回 return obj
            obj = {a:10,b:20}   
*/
function getCookie(key) {
    let c = document.cookie;
    // a=10; b=20; c=30 ==>{a:10,b:20}
    //以 '; ' 来分割
    let arr = c.split("; ");
    // ["a=10", "b=20", "c=30"]
    let obj = {};
    arr.forEach((item) => {
        let a = item.split("=");
        // a = ['a','10']  a[0] = a  a[1] = 10
        // a = ['b','20'] 
        obj[a[0]] = a[1];

        // obj[变量] = 属性值
    });

    // 当花括号中只有一句代码的时候 可以忽略花括号不写
    if (key) return obj[key];
    return obj;
}
